home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: Camelot / Camelot 098 (1990-12)(Swedish User Group of Amiga)(SE)(PD)[WB].zip / Camelot 098 (1990-12)(Swedish User Group of Amiga)(SE)(PD)[WB].adf / XLisp-Stat / Book / key.lsp < prev    next >
Text File  |  1990-10-11  |  559b  |  23 lines

  1. ; book pp.251-252
  2.  
  3. (load "book/resize")
  4.  
  5. (send w :add-slot 'step-size 10)
  6.  
  7. (defmeth w :step-size (&optional (val nil set))
  8.   (if set (setf (slot-value 'step-size) val))
  9.   (slot-value 'step-size))
  10.  
  11. (defmeth w :move (x y)
  12.   (send self :x (+ x (send self :x)))
  13.   (send self :y (+ y (send self :y)))
  14.   (send self :redraw))
  15.  
  16. (defmeth w :do-key (c m1 m2)
  17.   (let ((step (send self :step-size)))
  18.     (case c
  19.       (#\u (send self :move 0 (- step)))
  20.       (#\d (send self :move 0 step))
  21.       (#\r (send self :move step 0))
  22.       (#\l (send self :move (- step) 0)))))
  23.